专利摘要:
本明細書には、一時的編集面を使用してドキュメントを編集するための技術が説明されている。ワードプロセッシングプログラムは、ドキュメントをウィンドウに表示する。挿入ポインタがドキュメント中のテキストのあるパラグラフ内に置かれたことを検出する際に、ウィンドウ内でそのパラグラフの上に重なり、その下に置かれたパラグラフの内容を収めた編集面が作成される。ユーザ入力は、内容の編集が編集面によって処理されている間ワードプロセッシングプログラムによってモニタされている。編集が完了すると、編集面の修正された内容がドキュメントにコピーされ、編集面が破棄される。
公开号:JP2011514993A
申请号:JP2010547664
申请日:2009-01-21
公开日:2011-05-12
发明作者:ダナ;ベイリー エリック
申请人:マイクロソフト コーポレーション;
IPC主号:G06F17-21
专利说明:

[0001] 従来、ワードプロセッシングアプリケーションは、パーソナルコンピュータにインストールされていて、ローカルまたはネットワークベースのファイルに格納されたドキュメントのためにリッチな編集とフォーマッティングの機能を提供するスタンドアロンソフトウェアプログラムであった。これらのアプリケーションは、一般的に非常に大きいため、インストールするのにドライブスペースに多くのメガバイトを必要としていた。しかし、最近の傾向では、同じスタンドアロンワードプロセッシングアプリケーションへのアクセス権を有していないことがあるリモートの種々のユーザによって協働的にドキュメントが開発され、これらのドキュメントは、インターネットを通してアクセス可能なリモートネットワーク上に格納されていることがある。この結果、従来のWorld Wide Web(Web)ブラウザを介して配信可能なワードプロセッシングプログラムが開発されることになり、従来のスタンドアロンワードプロセッサをインストールしなくても、ユーザは、リモートドキュメントを編集することが可能になった。]
背景技術

[0002] Webベースのワードプロセッシング機能を提供する1つの方法では、多くのWebブラウザプログラムに用意されている編集機構(editing features)を利用したWebページが開発されている。この方法には、小さく高速であるという利点があり、必要とする開発作業が非常に少なくなっている。しかし、これらのWebブラウザによって提供される編集機構は、従来のスタンドアロンワードプロセッサの特徴がリッチな能力とは比較にならないほど限られているのが一般的である。さらに、利用可能な編集機構は異なるWebブラウザプログラム間で非常に異なっているため、すべてのWebブラウザにわたって統一したユーザ体験を提供することが困難になっている。]
発明が解決しようとする課題

[0003] Webベースのワードプロセッシング機能を提供する別の方法では、SUNMICROSYSTEMS提供のJAVA、ADOBE SYSTEMS提供のFLASH、またはAsynchronous JavaScriptおよびXML(「AJAX」)などのクロスブラウザ(cross-browser)ランタイムテクノロジを使用してブラウザ内で実行される完全なワードプロセッシングプログラムが実現されている。開発者は、このプログラムの特徴と能力を完全に制御できる一方で、この方法には、相当量の開発作業が必要になり、ユーザによってタイプされたようにウィンドウでテキストをレンダリングし、明滅カーソルをテキスト前後に動かし、またはユーザがタイプしたウィンドウの内容を統一的にリフローする、といったローレベルの編集機能を実現する必要があるのが一般的である。さらに、ワードププロセシングプログラムは、ブラウザベースのランタイムテクノロジで実行されるために、実行が低速であることがよくあり、十分に応答性のあるユーザインタフェースを提供できないことがある。]
[0004] 本明細書に行なわれている開示事項が提示されているのは、上記考慮事項およびその他に関してである。]
課題を解決するための手段

[0005] 本明細書には、Webブラウザで実行されることを目的したハイブリッド編集モデルのワードプロセッサを実現するための技術が記載されている。具体的には、ワードプロセッサは、クロスブラウザランタイムテクノロジ(cross-browser runtime technology)で実現され、従来のスタンドアロンワードプロセッサのそれに匹敵するリッチな編集機構群を提供している。しかし、ワードプロセッシングプログラムは、ローレベル編集機能を実現するためにWebブラウザによって提供される編集機構の一部を利用している。具体的には、ワードプロセッシングプログラムは、個々のテキストブロックつまりパラグラフに対するユーザの変更を受け入れる編集面(editing surface)を提供するためにWebブラウザを使用している。この編集面は、ローレベルなテキスト編集機構をユーザに提供するために必要な時間だけアクティブである点で一時的(transitory)である。]
[0006] 本明細書に提示している一態様によれば、Webブラウザ内のドキュメントは、一時的編集面を使用して編集されることがある。この点では、Webブラウザで実行されるワードプロセッシングプログラムは、ドキュメントをブラウザウィンドウに表示する。ワードプロセッシングプログラムは、ユーザがマウスでテキスト内をクリックする、といった方法またはキーボードのナビゲーションキーを使用してパラグラフにナビゲートすると、いった方法で、挿入ポインタがドキュメント内のテキストのパラグラフに置かれたことを検出する。挿入ポインタが置かれたことが検出されると、ワードプロセッシングプログラムは、ドキュメント内のパラグラフの上に重なる編集面を作成する。これは、その下に位置するパラグラフを見えないようにしたまま、その下に位置するパラグラフと同じロケーションに置かれ、同じサイズのドキュメントに編集面エレメントを追加することで行なわれることがある。一態様では、編集面エレメントは、ハイパテキストマークアップ言語(HTML)IFRAMEエレメントであってもよい。その下のプラグラフの内容は、編集面にコピーされる。]
[0007] 次に、ワードプロセッシングプログラムは、ユーザがブラウザウィンドウで行なった入力をモニタし、一部の入力は編集面によって直接に処理されるのを可能にし、他方ではワードプロセッシングプログラムによる処理のために他の入力をインターセプト(intercept)するのを可能にする。一態様によれば、ワードプロセッシングプログラムは、キーボードから入力された文字キー、数字キー、および句読点キーの入力を直接に編集面に渡す一方で、マウスクリックまたはページダウンまたはページアップのようなナビゲーションキーをインターセプトする。編集面は、ユーザ入力を処理して、ユーザがそこに含まれる内容に対して変更が行なわれるのを可能にする。]
[0008] ワードプロセッシングプログラムは、ユーザ入力の処理時に編集面をモニタして、編集面のリフロー(reflow)が必要であるかどうかを判断する。例えば、編集面内の内容に対する変更には、ブラウザウィンドウ内の編集面のサイズまたは位置に対する変更が必要になることがある。リフローが必要な場合は、編集面の修正した内容がコピーされてドキュメントに戻され、Webブラウザはページ上のドキュメントを再レンダリングするのを強行する。その下に置かれたパラグラフの新しい位置とサイズが次に判断され、編集面は、その下に置かれたパラグラフの新しい位置とサイズに一致するように再配置され、サイズが変更される。編集が完了すると、編集面の修正した内容がコピーされてドキュメントに戻され、編集面が破棄され、その下に置かれたパラグラフが再び見えるようにされる。]
[0009] 以上から当然に理解されるように、上述した主題は、コンピュータ制御装置、コンピュータプロセス、コンピューティングシステム、またはコンピュータ可読媒体などの製造物品として実現されることもある。これらの特徴およびその他の種々の特徴は、以下の詳細説明を読み、添付図面をレビューすることにより明らかになる。]
[0010] この要約は、詳細説明の中で以下に詳しく説明されている概念を選んで簡単に紹介したものである。この要約は、請求項に記載の主題のキーとなる特徴または基本的な特徴を特定するものでも、この要約が請求項に記載した主題を制限するために使用されるものでもない。さらに、請求項に記載の主題は、本開示事項のいずれかの部分に記載された欠点のいずれかまたはすべてを解決する実現形態に限定されない。]
図面の簡単な説明

[0011] 例示の動作環境の態様および本明細書に記載の実施形態によって提供されるいくつかのソフトウェアコンポーネントを示すネットワークおよびソフトウェアアーキテクチャを示す図である。
本明細書に記載の1実施形態による一時的編集面のオペレーションの例示スクリーンショットを示すスクリーン図である。
本明細書に記載の1実施形態による一時的編集面のオペレーションの例示スクリーンショットを示すスクリーン図である。
本明細書に記載の1実施形態による一時的編集面のオペレーションの例示スクリーンショットを示すスクリーン図である。
本明細書に記載の実施形態で提供される一時的編集面を提供するワードプロセッシングプログラムのオペレーションの態様を示すフロー図である。
本明細書に記載の実施形態で提供される一時的編集面を提供するワードプロセッシングプログラムのオペレーションの態様を示すフロー図である。
本明細書に記載の実施形態で提供される一時的編集面を提供するワードプロセッシングプログラムのオペレーションの態様を示すフロー図である。
本明細書に記載の実施形態の態様を実現する能力を備えたコンピューティングシステムのための例示コンピュータハードウェアおよびソフトウェアのアーキテクチャを示すコンピュータアーキテクチャ図である。]
実施例

[0012] 以下の詳細説明は、ワードプロセッシング機能をブラウザ内で提供する技術に関するものである。本明細書に提示した技術と概念の使用を通して、ワードプロセッシングプログラムは、テキストの編集を管理するローレベルな細部をこのプログラムに実装させなくても、従来のスタンドアロンワードプロセッシングプログラムのそれに類似した特徴がリッチなワードプロセッシング体験を提供するブラウザ内に実装されることができる。これは、完全なカスタム開発のワードプロセッシングプログラムとWebブラウザの内容編集機構とのハイブリッドを実現することにより遂行される。ワードプロセッシングプログラムは、ハイレベルのワードプロセッシング機能を提供する一方で、ユーザがタイプしたようにウィンドウ内でテキストをレンダリングし、明滅カーソルをテキスト内を動かし、またはユーザがタイプするとウィンドウの内容をコンスタントにリフローする、といったようなローレベルのテキスト編集機構を実行するためにWebブラウザの編集機構が採用されている。Webブラウザの編集機構は、ウィンドウ内の編集面を、編集中のドキュメントの内容の場所に一時的に置くために利用されている。編集可能面が一時的であるのは、それが必要とされる間だけ表示され、アクティブのままになっているからである。内容の編集が完了すると、編集面は破棄され、修正された内容がユーザに表示される。]
[0013] 本明細書に記載の主題は、オペレーティングシステムとアプリケーションプログラムがコンピュータシステム上で実行されるのと一緒に実行されるプログラムモジュールの一般的コンテキストの中で提示されているが、当業者ならば認識されるように、他のタイプのプログラムモジュールと組み合わさって他の実施形態が実行されてもよい。一般的に、プログラムモジュールの中には、ルーチン、プログラムコンポーネント、データ構造、および特定のタスクを実行し、または特定の抽象データ型を実現する他のタイプの構造が含まれている。さらに、当業者ならば認識されるように、本明細書に記載の主題は他のコンピュータシステム構成と共に実施されることもあり、その中には、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラマブルなコンシューマエレクトロニクス、ミニコンピュータ、メインフレームコンピュータなどが含まれている。]
[0014] 以下の詳細説明において、本明細書の一部を構成する添付図面が参照されており、そこには特定の実施形態または例が具体例として示されている。次に、図面を参照して説明すると、図面には類似の符号はいくつかの図面を通して類似のエレメントを示しているが、一時的編集面を使用してドキュメントを編集するためのコンピューティングシステムおよび方法の態様について説明する。]
[0015] 次に、図1を参照して説明すると、例示のオペレーティングシステムおよび本明細書に提示の実施形態によって提供されるいくつかのソフトウェアコンポーネントに関する詳細が示されている。具体的には、図1は、一時的編集面を使用してドキュメントを編集するためのシステム100の態様を示している。システム100は、コンピュータ120を含み、コンピュータ120は、オペレーティングシステムと1つまたは2つ以上のアプリケーションプログラムを実行する能力を有する標準のデスクトップ型またはラップトップ型コンピュータシステムを含む。コンピュータ120は、ディスプレイ104、マウス108、およびキーボード110と動作可能に接続され、コンピュータ120上で実行されるシステムおよびアプリケーションプログラムとユーザ102がやりとりするのを可能にしている。コンピュータ120は、ネットワーク160のような1または2以上のローカルエリアネットワークおよびワイドエリアネットワークを通してサーバコンピュータ162に相互接続されている。当然に理解されるように、図1に図示した以上に多くのネットワークコネクションが利用されてもよい。] 図1
[0016] コンピュータ120は、サーバコンピュータ162によって実行されるWebサーバ164にネットワーク160を通して動作可能に接続されているWebブラウザ122を実行するように動作可能である。一実施形態では、Webブラウザ122は、MICROSOFT社提供のINTERNET EXPLORER、Mozilla社提供のFIREFOX、またはAPPLE社提供のSAFARIなどのように、HTMLドキュメントを表示する機能を有するアプリケーションプログラムである。なお、当業者ならば理解されるように、マークアップ言語をレンダリングし、スクリプトロジックを実行する機能を有するどのタイプのアプリケーションプログラムは、Webブラウザ122を具体化するために利用されてもよい。Webサーバ164は、Webブラウザ122にドキュメントを供給する能力を有する任意のソフトウェアプログラムを含む。Webサーバ162は、ドキュメントを含むデータストレージ168およびワードプロセッシングプログラム140にさらに接続されている。なお、ワードプロセッシングプログラム140は、以下に詳しく説明されている。一実施形態によれば、ドキュメントは、Webブラウザ122に供給されるHTMLドキュメント128を含んでいてもよい。コンピュータ120のユーザ102によるリクエストを受けて、Webブラウザ122は、HTMLドキュメント128をWebサーバ164から取り出し、そのドキュメントをディスプレイ104上でウィンドウ106内にレンダリングしてユーザ102に提示するよう動作可能である。]
[0017] 以上に簡単に説明したように、システム100は、コンピュータ120のユーザ102がHTMLドキュメント128の内容をウィンドウ106内で編集できるように動作可能であるワードプロセッシングプログラム140も含む。一実施形態によれば、ワードプロセッシングプログラム140は、Webブラウザ122によって提供されるランタイム環境で実行される能力を有する。例えば、ワードプロセッシングプログラム140は、AJAX開発手法を用いて作成されてもよい。]
[0018] 一実施形態では、ワードプロセッシングプログラム140は、編集されるドキュメント128と一緒にWebサーバ164から取り出される。代替の実施形態では、ワードプロセッシングプログラム140は、コンピュータ120上にローカルに置かれていてもよい。ワードプロセッシングプログラム140は、ワードプロセッシング機能をユーザ102に提供するように動作可能なワードプロセッシングロジック148を含む。一実施形態では、ワードプロセッシングプログラム140は、編集されるドキュメントの内容を内部ドキュメントイメージ150で保持している。他の実施形態では、ワードプロセッシングプログラム140は、編集されるドキュメントの内容をHTMLドキュメント128内に直接に保持している。HTMLレンダラ124は、HTMLドキュメント128を表示するためにレンダリングする。]
[0019] 一実施形態では、ワードプロセッシングプログラム140は、イベント処理ロジック(event handling logic)146を含み、イベント処理ロジック146は、ユーザ入力プロセッサ126からのユーザ入力イベントをモニタしている。図3に関連して以下に詳しく説明されているように、イベント処理ロジック146は、ウィンドウ106内に表示されたように、ユーザ102によって挿入ポインタがHTMLドキュメント128内のあるロケーションに置かれたことを検出するよう動作可能である。イベント処理ロジック146は、さらに、図4に関連して以下に説明されているように、ドキュメントの内容の編集中にユーザ入力イベントをモニタするよう動作可能である。] 図3 図4
[0020] ワードプロセッシングプログラム140は、編集面作成ロジック144も含み、編集面作成ロジック144は、図3を関連して以下に詳しく説明されているように、ドキュメントの内容に対する変更を受け入れる編集面をウィンドウ106内に作成する。一実施形態では、編集面は、編集面エレメント130を作成するためにHTMLドキュメント128にマークアップを追加することで作成され、編集面エレメント130は、Webブラウザ122によってレンダリングされるとき、編集面をウィンドウ106内に表示する。さらに、ワードプロセッシングプログラム140は、リフローロジック(reflow logic)142を含む。図5を参照して以下に詳しく説明されているように、リフローロジック142は、ユーザ102が編集面208で内容を変更したとき編集面208のサイズと位置を維持している。] 図3 図5
[0021] 次に、図2A〜2Cを参照して説明すると、一実施形態によれば、Webブラウザ122によって実行されるワードプロセッシングプログラム140によって生成されるウィンドウ106の例示スナップショットが示されている。図2Aに示されているように、ウィンドウ106は、HTMLドキュメント128のメインボディに含まれるテキスト202のあるパラグラフを、HTMLドキュメント128のテーブル204内のあるテキストブロックと共に表示している。テキスト202のパラグラフの編集を望んでいるユーザ102は、ここではテキスト挿入ポインタまたはカレット(caret)206として例示されているマウスポインタを、マウス108を使用してウィンドウ106内のテキスト202のパラグラフ内のある位置に置き、マウス108上のボタンをクリックすることができる。ワードプロセッシングプログラム140のイベント処理ロジック146は、パラグラフ202に置かれた挿入ポインタ206と共にマウスクリックを検出し、図2Bに示されているように、ウィンドウ106内でテキスト202のパラグラフの上に重なっている編集面208Aを編集面作成ロジック144に作成させる。以上から理解されるように、マウスによって実行されるものとして本明細書に説明されているユーザ入力アクティビティは、別のタイプの入力デバイスを使用してサブミットされることがある。] 図2A 図2B 図2C
[0022] 図3を参照して以下に詳しく説明されているように、編集面作成ロジック144は、ウィンドウ106に表示されたようにパラグラフまたはテキスト208と同じサイズで同じ位置にあるように編集面208Aを作成する。編集面作成ロジック144は、さらに、パラグラフ202の内容を編集面208Aにコピーし、そのパラグラフ202をウィンドウ106内で見えないようにする。なお、パラグラフ202は、ウィンドウ106内で見えなくなるが、それでもウィンドウ106内の同じ物理的スペースを占めているので、基本的に編集面208Aの下に置かれている。次に、編集面作成ロジック144は、挿入ポインタ206がユーザ102によってパラグラフ202内に置かれている位置に対応する編集面208A内にカーソル210を位置づける。以上から理解されるように、図2Bのスナップショットに示されている編集面208Aの境界は単なる例示目的のためである。編集面208Aの実際の境界はウィンドウ106には作成されない。種々の実施形態で説明したように編集面208Aを作成し、その下に位置するパラグラフ202の内容を編集面208Aにコピーし、その下に位置するパラグラフをウィンドウ内で見えないようにするプロセスはユーザ102には気づかれないようになっている。ウィンドウ106に対する変更でユーザ102が気づく唯一の変更は、挿入ポインタ206が置かれた位置にカーソル210が作成されることである。] 図2B 図3
[0023] 編集面208Aは、ユーザ102が編集面208Aのテキスト内容にローレベル編集を行なうのを可能にするためにウィンドウ106内でアクティブのままになっている。例えば、一実施形態では、編集面208Aは、カーソル210が置かれている現在の位置でユーザ102が文字を追加したり、テキストから文字を削除したりするのを可能にしている。図4を参照して以下に詳しく説明されているように、ユーザ102がよりハイレベルの編集機能をワードプロセッシングプログラム140に要求したり、ウィンドウ106内でHTMLドキュメント128の異なる部分にナビゲートしたりすると、HTMLドキュメント128は、ユーザ102によって編集面208Aに行なわれた編集で更新され、編集面208Aは破棄される。例えば、図2Cに図示されているように、ウィンドウ106に表示されたテーブル204内のテキストブロックにユーザ102が挿入ポインタ206を置くと、編集面208Aは、破棄され、編集面208Aの下に位置するテキスト202のパラグラフが編集面208からの編集があれば、その編集で更新され、ウィンドウ106内で再び見えるようにされる。さらに示すように、テーブル204内のテキストブロックの上に置かれた新しい編集面208Bが作成され、テキスト挿入のためのカーソル210が新しい編集面208B内に作成される。] 図2C 図4
[0024] 次に、図3を参照して説明すると、一時的編集面を使用してドキュメントを編集するために本明細書に提示した実施形態に関してさらに詳しく説明する。具体的には、図3は、一時的編集面208をウィンドウ106内に作成するオペレーションを例示するフロー図である。当然に理解されるように、本明細書に記載したロジカルオペレーションは、(1)コンピュータシステム上で実行されるコンピュータ実装アクトのシーケンスまたはプログラムモジュールとしておよび/または(2)コンピューティングシステム内の相互接続マシンロジック回路または回路モジュールとして実装されている。この実装は、コンピューティングシステムのパフォーマンスおよびその他の要求条件に依存する選択の問題である。従って、本明細書に記載したロジカルオペレーションは、ステートオペレーション、構造デバイス、アクトまたはモジュールと様々に呼ばれている。これらのオペレーション、構造デバイス、アクトおよびモジュールは、ソフトウェアで実装されてもよいし、ファームウェアで実装されてもよいし、特殊目的デジタルロジックで実装されてもよいし、これらの任意の組み合わせで実装されてもよい。また、当然に理解されるように、図面に図示され、本明細書に記載されているものよりも、多くのまたは少ないオペレーションが実行されてもよい。これらのオペレーションは、本明細書に記載したものとは異なる順序で実行されてもよい。] 図3
[0025] ルーチン300は、オペレーション302から開始し、そこでイベント処理ロジック146は、ユーザ102がウィンドウ106内のあるロケーションに挿入ポインタ206を置いたことを検出する。上述したように、一実施形態では、ユーザ102は、マウス108を使用して、またはキーボード110のナビゲーションキーを使用して使用中のカーソル210をHTMLドキュメント128のあるセクションから別のセクションに動かすことによって、ウィンドウ106内のロケーションに挿入ポインタ206を置くことができる。代替の実施形態では、ユーザ102は、ウィンドウ106内のあるロケーションで指またはスタイラスでディスプレイ104に触れることによって、挿入ポインタ206を置くこともできる。]
[0026] 挿入ポインタ206が置かれたことを検出すると、ルーチン300は、オペレーション304に移動し、そこで編集面作成ロジック144は、挿入ポインタ206が置かれたウィンドウ106内のロケーションに現在表示されているHTMLドキュメント128の部分を判断する。一実施形態では、HTMLドキュメント128は、テーブル204のセルのように、ドキュメントのメインボディ内または他のコンテナに収められたテキスト202のパラグラフに分割されていてもよい。ユーザ102がマウス108を使用して挿入ポインタ206を置くと、編集面作成ロジック144は、マウス108がクリックされたロケーションに対応するHTMLドキュメント128内のパラグラフのIDをWebブラウザ122に要求する。ユーザ102がキーボード110のナビゲーションキーを使用して挿入ポインタ206を置いた場合は、編集面作成ロジック144は、HTMLドキュメント128の内容を分析することによって正しいパラグラフを判断する。代替の実施形態では、ドキュメントの他の分割が望まれることもある。]
[0027] ルーチン300は、オペレーション304から、オペレーション306に進み、そこで編集面作成ロジック144は、挿入ポインタ206が置かれたウィンドウ106内のロケーションに最も近く対応しているパラグラフ202内の文字位置を判断する。この文字位置は、編集面208においてカーソル210を、挿入ポインタ206がパラグラフ内に置かれた場所に対応する位置に置くために使用される。一実施形態では、編集面作成ロジック144は、バイナリサーチアルゴリズム(binary search algorism)を使用して文字位置を判断する。例えば、SPANエレメントのようなHTMLエレメントは、HTMLドキュメント128の中でパラグラフのテキストを含んでいるマークアップの中間の文字位置に置かれる。SPANエレメントのロケーションのウィンドウ106内の座標がWebブラウザ122に要求され、挿入ポインタ206が置かれている位置の座標と比較されて、挿入ポインタ206がテキスト内のSPANエレメントの前に置かれていたか、後に置かれていたかが判断される。このプロセスは再び繰り返され、SPANエレメントをマークアップの第1の半分または第2の半分の中間にそれぞれ置いて、挿入ポインタ206のロケーションに対応するパラグラフ202内の文字位置が判断されるまで繰り返し継続する。]
[0028] ルーチン300は、オペレーション306から、オペレーション308に進み、そこで編集面作成ロジック144は、ウィンドウ106に表示されたようにパラグラフ202の現在の位置とディメンションを判断する。一実施形態では、この情報は、いったんパラグラフ202が特定されると、Webブラウザ122に要求される。そのあと、編集面作成ロジック144は、オペレーション310で示されたようにパラグラフ202と同じロケーションで同じディメンションの編集面208をウィンドウ106内に作成する。一実施形態では、編集面作成ロジック144は、HTML IFRAMEエレメントのような編集面エレメント130を作成するためにHTMLドキュメント128にマークアップを追加することによって編集面208を作成する。編集面エレメント130は、そのcontentEditable属性を「真(true)」にセットすることで編集可能にされる。代替の実施形態では、編集面エレメント130は、そのcontentEditable属性が「真」にセットされたHTML DIVエレメントであってもよいし、HTML TEXTAREAエレメントであってもよい。編集面作成ロジック144は、編集面エレメント130のサイズと位置の属性をセットして、それがウィンドウ106内でパラグラフ202と同じ位置で同じサイズにWebブラウザ122によってレンダリングされるようにする。当業者ならば理解されるように、挿入ポインタ206が新しいパラグラフまたは空のパラグラフに置かれて、パラグラフの現在のサイズがゼロになっている場合は、編集面作成ロジック144は、カーソル210およびユーザ102がタイプした最初の数文字を正しく表示するのに十分な高さと幅の編集面208を作成する。]
[0029] ルーチン300は、オペレーション310から、オペレーション312に進み、そこで編集面作成ロジック144は、HTMLドキュメント128の中のパラグラフ202の内容を編集面208にコピーする。この中には、HTMLドキュメント128の中のパラグラフ202に含まれるテキストを編集面エレメント130にコピーすることと、編集面エレメント130の属性をHEMLドキュメント128中のパラグラフに適用されたものと同じになるようにセットすることとが含まれる。そのあと、編集面作成ロジック144は、オペレーション314でパラグラフ202をウィンドウ106内で見えないようにする。上述したように、これは、パラグラフ202がウィンドウ106内でユーザ102に見えなくなるような形で行なわれるが、パラグラフ202は、依然としてウィンドウ106内に同じ物理的スペースを占めている。例えば、一実施形態では、HTMLドキュメント128の中のパラグラフ202の可視性属性は、「隠れている(hidden)」にセットされている。]
[0030] 次に、ルーチン300は、オペレーション316に進み、編集面作成ロジック144は、挿入ポインタ206が置かれ、オペレーション306で計算された文字位置に対応する文字位置に編集面208内のカーソル210を位置づける。一実施形態では、これは、現在のセレクションを文字位置にある空のテキスト範囲にセットすることによって行なわれる。次に、ルーチン300は、オペレーション318に進み、そこで編集面作成ロジック144は、編集面208のためにイベント処理ロジック146のイベントハンドラを登録する。図4を参照して以下に詳しく説明されているように、これによりイベント処理ロジック146は編集面208からのマウス、キーボード、およびスクローリングといった他のブラウザイベントを処理することが可能になる。オペレーション320において、ウィンドウ160内の現在のフォーカス(current focus)が編集面208にセットされる。] 図4
[0031] 図4は、編集面208がウィンドウ106内でアクティブである間に編集面208またはWebブラウザ122によって生成される処理イベントのオペレーションを例示するフロー図である。ルーチン400は、オペレーション402から開始し、そこでイベント処理ロジック146は、主にマウス108をクリックする、またはキーボード110上でタイプする、といったユーザ入力の結果として、編集面208がイベントを生成したことを検出する。ユーザ入力イベントを検出すると、イベント処理ロジック146は、編集面エレメント130がオペレーション404でユーザ入力をネイティブに処理するかどうかを判断する。] 図4
[0032] 一実施形態では、ユーザ入力がキーボード110からタイプされた文字を表している場合は、イベント処理ロジック146は、タイプされた文字を編集面エレメント130によって処理される文字のリストと比較する。例えば、タイプされた文字が、文字、数字または句読点文字であれば、イベント処理ロジック146は、その文字が編集面エレメント130によって処理されるかどうかを判断する。しかし、タイプされた文字が結果的にCTRL−Bのようにテキストに対するフォーマットの変更となる可能性がある場合は、その文字は、処理のために編集面エレメント130に転送されない。代替の実施形態では、イベント処理ロジック146は、カーソルナビゲーションキーまたはコピーおよびペーストショートカットキーのように、編集面エレメント130が追加のキーボード入力を処理することを可能にしてもよい。]
[0033] 編集面エレメント130がユーザ入力をネイティブに処理するとイベント処理ロジック146が判断した場合に、ルーチン400は、オペレーション414に進み、そこでユーザ入力が処理のために編集面エレメント130に渡される。編集面エレメント130がユーザ入力を処理したあと、ルーチン400は、オペレーション416に進み、そこでリフローロジック142が実行される。これは、図5を参照して以下に詳しく説明されている。一実施形態では、イベント処理ロジック146は、タイムアウト値を0にしてWebブラウザ122のタイマをセットしてから、ユーザ入力を編集面エレメント130に渡す。このようにして、ユーザ入力が編集面エレメント130によって処理され、イベント処理ロジック146がリフローオペレーションを実行するのを可能にしたあと、対応するタイマイベントが即時に生成される。] 図5
[0034] 編集面エレメント130がユーザ入力をネイティブに処理しないとイベント処理ロジック146が判断した場合は、ルーチン400は、オペレーション406に移り、そこでイベント処理ロジック146は、ユーザ102によって変更が行なわれていればその変更を含む編集面208からのテキストをコピーして、HTMLドキュメント128のその下に位置するパラグラフ202に戻す。そのあと、イベント処理ロジック146は、編集面エレメント130をHTMLドキュメント128から除去することによって、オペレーション408で与えられたように編集面208を破棄する。オペレーション410において、その下に位置するパラグラフ202は見えるようにされ、オペレーション314で行なわれた変更が戻される。これは、一実施形態では、パラグラフ202の可視性(visibility)属性を「見える」にセットすることにより行なわれる。そのあと、イベント処理ロジック146は、オペレーション412で別の処理のためにユーザ入力をワードプロセッシングロジック148に渡す。]
[0035] 図5は、HTMLドキュメント128内の編集面208がウィンドウ106内でアクティブである間に編集面208のリフローを実行するオペレーションを例示するフロー図である。本明細書に記載した種々の実施形態において、編集面エレメント130を作成するためにHTMLドキュメント128に追加されたHTMLマークアップは、結果として、ユーザ102がそのドキュメントに含まれる内容を編集している間にウィンドウ106内でサイズが正しく拡大または縮小しない編集面208が得られることがある。例えば、HTML IFRAMEエレメントは、その内容を編集している間自らを正しくリサイズしない。この結果、編集面208の内容がその境界をオーバフローするために、編集面208がウィンドウ106に表示されているようにその境界内で内容をスクロールアップまたはダウンする可能性がある。このことが起るのを防止するために、リフローロジック142は、ユーザ102が内容を編集しているとき編集面208のサイズと位置をウィンドウ106に動的に残しておく。さらに、リフローロジック142は、その下に位置する見えないパラグラフ202のサイズと位置がアクティブ状態の編集面208の同じサイズのままであることを保証し、HTMLドキュメント128の残り部分が編集面208の前後に正しくフローすることを保証する。このプロセスは、本明細書では「リフロー(reflow)」と呼ばれる。] 図5
[0036] ルーチン500は、オペレーション502から開始し、そこでリフローロジック142は、編集面208のリフローが必要であるかどうかを判断する。一実施形態では、リフローロジック142は、編集面エレメント130によってネイティブに処理される各ユーザ入力イベントのあとリフローオペレーションを実行することができる。例えば、編集面208は、各文字がユーザ102によってキーボード110からタイプされたあとリフローされてもよい。別の実施形態では、リフローロジック142は、イベント処理ロジック146を通してWebブラウザイベントをモニタして、リフローオペレーションが必要であるかどどうかを判断することができる。例えば、リフローロジック142は、編集面208によって生成されたスクロールイベントに応答するだけで編集面208のリフローオペレーションを実行して、オーバフロー状態が起ったことを知らせることができる。さらに別の実施形態では、リフローロジック142は、編集面208の内容についてテキストメトリック計算(text-metric calculations)を実行して、オーバフロー状態が起ったとの可能性があることを判断することができ、オーバフロー状態が起った可能性が高ければ、リフローオペレーションが実行される。]
[0037] 編集面208のリフローが必要であると判断すると、ルーチン500は、オペレーション504に進み、そこでリフローロジック142は、ユーザ102によって行なわれた変更があれば、その変更を含む編集面208からのテキストをコピーし、HTMLドキュメント128のその下に位置するパラグラフ202に戻す。オペレーション506において、リフローロジック142は、ウィンドウ106内でWebブラウザ122にHTMLドキュメント128を再レンダリングさせるので、編集面208の修正された内容を含んでいる、その下に位置するパラグラフ202の位置とサイズをウィンドウ106内に表示されたように再計算するようにWebブラウザ122をトリガする。そのあと、リフローロジック142は、オペレーション508に示されているように、その下に位置するパラグラフ202の新しい位置とディメンションをウィンドウ106に表示されたように判断する。一実施形態では、この情報はWebブラウザ122に単に要求されるだけである。新しい位置とディメンションが分かると、ルーチン500は、オペレーション510に進み、そこでリフローロジック142は、ウィンドウ106内でその下に位置するパラグラフ202の位置とサイズに一致するように編集面208を再配置し、サイズを変更する。]
[0038] 図6は、上記に示したように一時的編集面を使用してドキュメントを編集するために本明細書に記載したソフトウェアコンポーネントを実行する能力を備えたコンピュータ600のための例示的なコンピュータアーキテクチャを示す図である。図6に示すコンピュータアーキテクチャは、従来のデスクトップ、ラップトップ、またはサーバコンピュータを例示したもので、コンピュータ120またはサーバコンピュータ162上で実行されるものとして本明細書に提示されているソフトウェアコンポーネントのいずれかを実行するために利用されることがある。] 図6
[0039] 図6に示されているコンピュータアーキテクチャは、中央処理ユニット(CPU)602、ランダムアクセスメモリ(RAM)614とリードオンリメモリ(ROM)616を含むシステムメモリ608、およびメモリとCPU602に結合するシステムバス604を含む。スタートアップ期間のように、コンピュータ600内のエレメント間の情報の転送を支援する基本的ルーチンを含む基本入出力システムは、ROM616に格納されている。コンピュータ600は、本明細書の以下でより詳しく説明されているオペレーティングシステム618、アプリケーションプログラム、およびその他のプログラムモジュールを格納するためのマスストレージデバイス610も含んでいる。] 図6
[0040] マスストレージデバイス610は、バス604に接続されたマスストレージコントローラ(図示せず)を通してCPU602に接続されている。マスストレージデバイス610およびその関連コンピュータ可読媒体は、コンピュータ600のために不揮発性ストレージを提供している。本明細書に記載したコンピュータ可読媒体の説明は、ハードディスクまたはCD−ROMドライブのようなマスストレージデバイスのことを指しているが、当業者ならば理解されるように、コンピュータ可読媒体は、コンピュータ600によってアクセス可能なコンピュータ記憶媒体ならば、どのような媒体でも利用可能である。]
[0041] 例を挙げると、コンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータなどの情報を格納するためのいずれかの方法または技術で実現された揮発性および不揮発性の取り外し可能および固定媒体を含んでもよいが、これらに限定されない。例えば、コンピュータ可読媒体は、RAM、ROM、EPROM、EEPROM、フラッシュメモリまたは他の半導体メモリ技術、CD−ROM、DVD(digital versatile disk)、HD−DVD、BLU−RAY、またはその他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたはその他の磁気ストレージデバイス、または望みの情報を格納するために使用可能で、コンピュータ600によってアクセス可能である他のどのような媒体を含んでもよいが、これらに限定されない。]
[0042] 種々の実施形態によれば、コンピュータ600は、ネットワーク620のようなネットワークを通したリモートコンピュータとの論理的コネクションを使用したネットワーク化環境で動作してもよい。コンピュータ600は、バス604に接続されたネットワークインタフェースユニット606を通してネットワーク620に接続されてもよい。当然に理解されるように、ネットワークインタフェースユニット606は、他のタイプのネットワークおよびリモートコンピュータシステムに接続するために利用されることもある。コンピュータ600は、キーボード、マウス、またはエレクトロニックスタイラス(図6には図示されていない)を含む、いくつかの他のデバイスからの入力を受け取って処理するための入出力コントローラを含んでもよい。同様に、入出力コントローラは、ディスプレイスクリーン、プリンタ、または他のタイプの出力デバイス(同じく図6に図示されていない)に出力を提供してもよい。] 図6
[0043] 上記で簡単に説明したように、いくつかのプログラムモジュールおよびデータファイルは、コンピュータ600のマスストレージデバイス610およびRAM614に格納されてもよいし、その中には、ネットワーク化されたデスクトップ、ラップトップ、またはサーバコンピュータの動作を制御するのに適したオペレーティングシステム618が含まれている。マスストレージデバイス610およびRAM614は、1つまたは2つ以上のプログラムモジュールを格納してもよい。具体的には、マスストレージデバイス610およびRAM614は、Webブラウザ122またはWebサーバ164のアプリケーションプログラムを格納してもよいし、これらの各々は図1〜5を参照して上記に詳しく説明した通りである。マスストレージデバイス610およびRAM614は、他のタイプのプログラムモジュールを格納してもよい。] 図1 図2A 図2B 図2C 図3 図4 図5
[0044] 上述した説明に基づくと当然に理解されるように、本明細書には、一時的編集面を使用してドキュメントを編集するための技術が提供されている。本明細書に提示した主題はコンピュータの構造上の特徴、方法上のアクト、およびコンピュータ可読媒体に特有の表現で説明されているが、当然に理解されるように、請求項に定義された本発明は必ずしも本明細書に記載した特定の特徴、アクト、または媒体に限定されない。むしろ、これらの特定の特徴、アクトおよび媒体は、請求項を実現する例示の形態として開示されたものである。]
[0045] 上記に説明した主題は単なる例示として提供されたものであり、限定的であると解されるものではない。図示し、説明した例示の実施形態およびアプリケーションに従わなくても、および請求項に明記されている本発明の真の精神および範囲から逸脱することなく、本明細書に記載の主題に種々の改良および変更が行なわれてもよい。]
权利要求:

請求項1
ドキュメント(128)を編集するための方法であって、前記ドキュメント(128)をウィンドウ(200)に表示するステップと、前記ドキュメント(128)の一部分(202、204)を編集するリクエストを受信するステップと、前記リクエストを受信したことに応答して、前記ウィンドウ(200)に表示されたように前記ドキュメント(128)の一部分(202、204)の上に重なる編集面(208)を作成し、前記ドキュメント(128)の一部分(202,204)を前記編集面(208)にコピーするステップと、前記編集面(208)内の前記ドキュメント(128)の前記一部分(202、204)に対する1つまたは2つ以上の変更を受信するステップと、前記ドキュメント(128)の前記一部分(202、204)の編集を停止するリクエストを受信するステップと、前記リクエストを受信したことに応答して、前記1つまたは2つ以上の変更を前記ドキュメント(128)に適用し、前記編集面(208)を破棄するステップとを備えることを特徴とする方法。
請求項2
前記ドキュメントの一部分を編集するリクエストを受信するステップは、挿入ポインタが前記ウィンドウ内のある位置に置かれたことを検出するステップと、前記挿入ポインタが置かれた場所で前記ウィンドウ内に表示された前記ドキュメントの一部分を判断するステップとを含むことを特徴とする請求項1に記載の方法。
請求項3
前記ウィンドウ内に表示された前記ドキュメントの前記一部分を判断する際に、前記挿入ポインタの前記位置に対応する前記ドキュメントの前記一部分に置かれているテキスト内の文字位置を判断するステップと、前記ウィンドウに表示されたように前記ドキュメントの前記一部分の上に重なる前記編集面を作成する際に、前記編集面内の前記ドキュメントの前記一部分の前記テキスト内の前記文字位置にカーソルを位置づけるステップとをさらに備えることを特徴とする請求項2に記載の方法。
請求項4
前記ドキュメントは、前記ウィンドウ内でWebブラウザによってレンダリングされるマークアップ言語のエレメントを含むことを特徴とする請求項1に記載の方法。
請求項5
前記ウィンドウに表示されたように前記ドキュメントの前記一部分の上に重なる前記編集面を置くステップは、前記ウィンドウに表示されたように前記ドキュメントの前記一部分の位置とサイズを判断するステップと、前記ウィンドウに表示されたように前記ドキュメントの前記一部分を見えないようにするステップと、前記Webブラウザによってレンダリングされるとき、前記ドキュメントの前記一部分の前記位置と前記サイズで前記編集面を前記ウィンドウに表示させる編集面エレメントを前記ドキュメント内に作成するステップとをさらに含むことを特徴とする請求項4に記載の方法。
請求項6
前記Webブラウザによってレンダリングされる前記マークアップ言語は、ハイパテキストマークアップ言語(HTML)を含み、前記ドキュメントに作成される前記編集面エレメントは、HTMLIFRAMEエレメント、HTMLDIVエレメントおよびHTMLTEXTAREAエレメントのうちの1つであることを特徴とする請求項5に記載の方法。
請求項7
前記編集面内の前記ドキュメントの前記一部分に対する1つまたは2つ以上の変更を受信するステップは、前記ウィンドウ内で入力を受信するステップと、前記入力を受信する際に、前記編集面エレメントが前記入力を処理するかどうかを判断するステップと、前記編集面エレメントが前記入力を処理する際に、前記入力を、処理のために前記編集面エレメントに渡し、前記編集面エレメントに対しリフローオペレーションを実行し、前記編集面エレメントが前記入力を処理しないと判断する際に、1つまたは2つ以上の変更を前記ドキュメントに適用し、前記編集面エレメントを前記ドキュメントから除去し、前記ウィンドウに表示されたように前記ドキュメントの前記一部分を見えるようにするステップとを含むことを特徴とする請求項5に記載の方法。
請求項8
前記編集面エレメントに対してリフローオペレーションを実行するステップは、前記ウィンドウ内で前記編集面エレメントをリフローする必要があるかどうかを判断するステップと、前記編集面エレメントをリフローする必要があると判断する際に、1つまたは2つ以上の変更を前記ドキュメントに適用し、前記ウィンドウ内の前記ドキュメントを前記Webブラウザに再レンダリングさせ、前記ウィンドウ内に表示されたように前記ドキュメントの前記一部分の新しい位置と新しいサイズを判断し、前記ドキュメントの前記一部分の前記新しい位置と前記新しいサイズで前記ウィンドウ内で前記Webブラウザにレンダリングさせる前記ドキュメント内の前記編集面エレメントを修正するステップとを含むことを特徴とする請求項7に記載の方法。
請求項9
前記編集面エレメントが入力を処理するかどうかを判断するステップは、前記入力が文字キー、句読点キーおよび数字キーの1つが押された結果であるかどうかを判断するステップを含むことを特徴とする請求項7に記載の方法。
請求項10
コンピュータ実行可能命令をそこに収めたコンピュータ記憶媒体であって、前記コンピュータ実行命令がコンピュータによって実行されたとき、Webブラウザ(122)に生成されたウィンドウ(200)にマークアップ言語ドキュメント(128)を表示し、挿入ポインタ(206)が前記ウィンドウ(200)のある位置に置かれたことを検出し、前記挿入ポインタが置かれたことを検出する際に、挿入ポインタ(206)が置かれている位置に前記ウィンドウ(200)内に表示されている前記ドキュメント(128)の一部分(202,204)を判断し、前記ウィンドウ(200)内の前記ドキュメント(128)の前記一部分(202,204)の上に重なる編集面(208)を作成し、前記ドキュメント(128)の前記一部分(202、204)を前記編集面(208)にコピーし、前記ウィンドウ(200)内の入力を検出し、前記ウィンドウ内の入力を検出する際に、前記編集面(208)が前記入力を処理するかどうかを判断し、前記編集面が前記入力を処理すると判断する際に、ユーザによる前記入力を前記編集面(208)に渡して、前記編集面が前記ドキュメント(128)の前記一部分(202,204)に対する変更を受け取ることを可能にし、前記編集面(208)のリフローオペレーション(142)を実行し、前記編集面が前記入力を処理しないと判断する際に、前記ドキュメント(128)の前記一部分(202、204)を前記編集面(208)からの前記変更で更新し、前記編集面(208)を破棄することをコンピュータに実行させることを特徴とするコンピュータ記憶媒体。
請求項11
前記ウィンドウ内で前記ドキュメントの前記一部分の上に重なる編集面を作成することは、前記ウィンドウに表示されたように前記ドキュメントの前記一部分の現在の位置とサイズを判断し、前記挿入ポインタの位置に対応する前記ドキュメントの前記一部分のいずれかのテキスト内の文字位置を判断し、前記ドキュメントの前記一部分を前記ウィンドウ内に見えないものとして前記Webブラウザによってレンダリングさせ、前記ドキュメントにマークアップ言語を追加して、前記ドキュメントの前記一部分の前記現在の位置とサイズで前記Webブラウザに編集面を前記ウィンドウ内でレンダリングさせ、前記ドキュメントの前記一部分を前記編集面にコピーし、前記編集面内の前記ドキュメントの前記一部分の前記テキスト内の前記文字位置にカーソルを位置づけることを含むことを特徴とする請求項10に記載のコンピュータ記憶媒体。
請求項12
前記Webブラウザによってレンダリングされる前記マークアップ言語は、ハイパテキストマークアップ言語(HTML)であり、前記Webブラウザに編集面をレンダリングさせるために前記ドキュメントに追加される前記マークアップ言語は、HTMLIFRAMEエレメント、HTMLDIVエレメントおよびHTMLTEXTAREAエレメントのうちの1つを作成することを特徴とする請求項11に記載のコンピュータ記憶媒体。
請求項13
前記編集面のリフローオペレーションを実行することは、前記ウィンドウ内の前記編集面のリフローが必要であるかどうかを判断し、リフローが必要であると判断する際に、前記ウィンドウ内の前記ドキュメントの前記一部分を前記編集面からの前記変更で更新し、前記Webブラウザに前記ウィンドウにおいて前記ドキュメントを再レンダリングさせ、前記ウィンドウ内で前記ドキュメントの前記一部分の上に重なる前記編集面を再配置することを含むことを特徴とする請求項10に記載のコンピュータ記憶媒体。
請求項14
前記編集面が前記入力を処理するかどうかを判断することは、前記入力が文字キー、句読点キー、および数字キーのうちの1つがキーボード上で押された結果であったかどうかを判断することを含むことを特徴とする請求項10に記載のコンピュータ記憶媒体。
請求項15
Webブラウザ(122)内で実行されるワードプロセッシングプログラム(140)において一時的編集面(208)を提供するための方法であって、ワードプロセッシングプログラム(140)において編集されているドキュメント(128)のテキスト(202、204)のパラグラフ内にユーザ(102)が挿入ポインタ(206)を置いたことを検出するステップと、前記挿入ポインタが置かれたことを検出する際に、前記挿入ポインタ(206)が前記テキスト内に置かれた文字位置を判断するステップと、前記Webブラウザによって生成されたウィンドウ(200)においてページ内に表示されたように前記パラグラフ(202、204)の現在の位置とサイズを判断するステップと、前記ページ内に表示されたように前記パラグラフ(202、204)の位置とサイズで前記ページ上に編集面(208)を作成するステップと、前記テキストを前記編集面(208)にコピーするステップと、前記ページ内に表示されたパラグラフ(202,204)を見えないようにするステップと、前記編集面(208)におけるカーソル(210)を前記挿入ポインタ(206)の前記文字位置に位置づけるステップと、前記ウィンドウ(200)内のユーザ入力(146)を検出するステップと、前記ユーザ入力を検出すると、前記編集面(208)が前記ユーザ入力を処理するかどうかを判断するステップと、前記編集面が前記ユーザ入力を処理する際に、前記ユーザ入力を処理のために前記編集面(208)に前記ユーザ入力を渡すステップと、前記編集面をリフローする必要があるかどうかを判断するステップと、前記編集面をリフローする必要があると判断する際に、前記編集面(120、208)のリフローオペレーション(142)を実行するステップと、前記編集面が前記ユーザ入力を処理しないと判断する際に、前記ページ内の前記パラグラフ(202、204)を前記編集面(208)からの前記テキストで更新するステップと、前記ページ内に表示されたパラグラフ(202、204)を見えるようにするステップと、前記編集面(208)を破棄するステップと、前記ユーザ入力を処理のために前記ユーザ入力を前記ワードプロセッシングプログラム(140)に渡すステップとを備えることを特徴とする方法。
請求項16
前記編集面のリフローオペレーションを実行するステップは、前記ページ内の前記パラグラフを前記編集面からの前記テキストで更新するステップと、前記Webブラウザに前記ウィンドウ内の前記ページをレンダリングさせるステップと、前記ページ内に表示されたように前記パラグラフの新しい位置と新しいサイズを判断するステップと、前記ページ内の前記編集面の前記位置と前記サイズを、前記ページ内に表示されたようなパラグラフの新しい位置と新しいサイズになるように修正するステップとを含むことを特徴とする請求項15に記載の方法。
請求項17
前記ページ上に編集面を作成するステップは、ハイパテキストマークアップ言語(HTML)IFRAMEエレメントを前記Webブラウザ内の前記ページに追加するステップを含むことを特徴とする請求項15に記載の方法。
請求項18
前記ウィンドウ内にユーザ入力を検出するステップは、キーボードイベントとマウスイベントを前記Webブラウザからインターセプトするステップを含むことを特徴とする請求項15に記載の方法。
請求項19
前記編集面が前記ユーザ入力を処理するかどうかを判断するステップは、前記ユーザがキーボードの文字キー、句読点キー、または数字キーのうちの1つを押したかどうかを判断するステップを含むことを特徴とする請求項15に記載の方法。
請求項20
前記編集面をリフローする必要があるかどうか判断するステップは、前記編集面によって前記ユーザ入力を処理したことが、前記ページ上で前記Webブラウザによってレンダリングされた前記編集面内の前記テキストが前記編集面の前記サイズを超える原因になったかどうかを判断するステップを含むことを特徴とする請求項15に記載の方法。
类似技术:
公开号 | 公开日 | 专利标题
US9841878B1|2017-12-12|Methods, systems, and computer program products for navigating between visual components
US10248305B2|2019-04-02|Manipulating documents in touch screen file management applications
US9514116B2|2016-12-06|Interaction between web gadgets and spreadsheets
US10114820B2|2018-10-30|Displaying original text in a user interface with translated text
US10437443B1|2019-10-08|Multiple-application mobile device methods, systems, and computer program products
US20170199773A1|2017-07-13|Techniques to modify a document using a latent transfer surface
CN107015751B|2020-05-26|文档中的对象和文本的最佳显示和缩放
US8266544B1|2012-09-11|HTML pop-up control
CA2773152C|2016-06-07|A method for users to create and edit web page layouts
US9977768B2|2018-05-22|System for clipping webpages by traversing a dom, and highlighting a minimum number of words
US9135228B2|2015-09-15|Presentation of document history in a web browsing application
JP6095596B2|2017-03-15|Rendering the visual column of the document with supplemental information content
US7469388B1|2008-12-23|Direction-based system and method of generating commands
US7472339B2|2008-12-30|Method in an electronic spreadsheet for persistently self-replicating multiple ranges of cells through a copy-paste operation and a self-replication table
KR101099272B1|2011-12-26|외부 프로그램 테마를 사용하는 웹페이지 렌더링을 위한 테마 적용 방법
JP4587634B2|2010-11-24|ブラウザ内で文書の一部分を拡大する方法、装置、およびプログラム
US8239882B2|2012-08-07|Markup based extensibility for user interfaces
US7178098B2|2007-02-13|Method and system in an electronic spreadsheet for handling user-defined options in a copy/cut—paste operation
KR101163716B1|2012-07-10|컴퓨터 시스템상에서 문서들의 프리뷰잉
US7703036B2|2010-04-20|User interface for displaying selectable software functionality controls that are relevant to a selected object
US7707518B2|2010-04-27|Linking information
US7712016B2|2010-05-04|Method and apparatus for utilizing an object model for managing content regions in an electronic document
US8407576B1|2013-03-26|Situational web-based dashboard
TWI477985B|2015-03-21|用於在網頁上顯示文件的字型處理
US7596766B1|2009-09-29|Preview window including a storage context view of one or more computer resources
同族专利:
公开号 | 公开日
BRPI0907464A2|2015-07-14|
MX2010009102A|2010-09-09|
AU2009217633A1|2009-09-03|
CN101952821B|2013-05-01|
US20090217158A1|2009-08-27|
EP2260406A4|2018-01-24|
CA2712925C|2016-08-30|
KR20100135756A|2010-12-27|
RU2493589C2|2013-09-20|
JP5490729B2|2014-05-14|
RU2010135522A|2012-02-27|
ZA201005076B|2011-09-28|
AU2009217633B2|2014-01-16|
KR101524897B1|2015-06-01|
EP2260406A1|2010-12-15|
WO2009108417A1|2009-09-03|
MY154193A|2015-05-15|
IL207097A|2016-02-29|
CN101952821A|2011-01-19|
US8266524B2|2012-09-11|
CA2712925A1|2009-09-03|
IL207097D0|2010-12-30|
BRPI0907464B1|2020-02-11|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
JP2007506987A|2003-04-10|2007-03-22|インターナショナル・ビジネス・マシーンズ・コーポレーションInternationalBusinessMaschinesCorporation|コントロール・フロー・ビットマップにより可読性を向上させる方法およびシステム|JP2017538193A|2014-10-24|2017-12-21|ドロップボックス, インコーポレイテッド|プレビューにおけるネイティブ・ドキュメントのコメントの修正|US5604858A|1992-08-10|1997-02-18|International Business Machines Corporation|Method and system for apparent direct editing of fixed display elements within a data processing system|
CA2124624C|1993-07-21|1999-07-13|Eric A. Bier|User interface having click-through tools that can be composed with other tools|
US5581670A|1993-07-21|1996-12-03|Xerox Corporation|User interface having movable sheet with click-through tools|
US5826025A|1995-09-08|1998-10-20|Sun Microsystems, Inc.|System for annotation overlay proxy configured to retrieve associated overlays associated with a document request from annotation directory created from list of overlay groups|
AUPO525497A0|1997-02-21|1997-03-20|Mills, Dudley John|Network-based classified information systems|
US6278678B1|1999-02-12|2001-08-21|Sony Corporation|Editing apparatus, editing method, and recording medium|
JP2000339312A|1999-05-31|2000-12-08|Toshiba Corp|文書編集システム及びタグ情報管理テーブル作成方法|
US7124360B1|1999-08-04|2006-10-17|William Drenttel|Method and system for computer screen layout based on a recombinant geometric modular structure|
CA2408313A1|2000-06-21|2001-12-27|Microsoft Corporation|System and method for integrating spreadsheets and word processing tables|
US7259753B2|2000-06-21|2007-08-21|Microsoft Corporation|Classifying, anchoring, and transforming ink|
US7155667B1|2000-06-21|2006-12-26|Microsoft Corporation|User interface for integrated spreadsheets and word processing tables|
US7117435B1|2000-06-21|2006-10-03|Microsoft Corporation|Spreadsheet fields in text|
US7103838B1|2000-08-18|2006-09-05|Firstrain, Inc.|Method and apparatus for extracting relevant data|
TW525067B|2000-09-28|2003-03-21|Fatwire Corp|System and method for in-context editing|
US6941507B2|2000-11-10|2005-09-06|Microsoft Corporation|Insertion point bungee space tool|
US7191405B1|2000-11-22|2007-03-13|Adobe Systems Incorporated|System and method for editing information|
JP3943830B2|2000-12-18|2007-07-11|株式会社東芝|文書合成方法および文書合成装置|
US20040205488A1|2001-11-27|2004-10-14|Fry Randolph Allan|Active web page for editing with any browser|
US20070028166A1|2002-04-10|2007-02-01|Allen Hundhausen|System and processes for dynamic document construction|
US7120868B2|2002-05-30|2006-10-10|Microsoft Corp.|System and method for adaptive document layout via manifold content|
US7698636B2|2002-06-13|2010-04-13|Microsoft Corporation|System and method for in-context editing of components|
TW576984B|2002-07-19|2004-02-21|Jen-Hwang Weng|On-line web page editing system and method|
US7340673B2|2002-08-29|2008-03-04|Vistaprint Technologies Limited|System and method for browser document editing|
JP2008506183A|2004-07-08|2008-02-28|マイクロソフトコーポレーション|自動的に生成されたコンテンツのインポート|
US7000184B2|2003-01-24|2006-02-14|The Cobalt Group, Inc.|Remote web site editing in a standard web browser without external software|
US7890852B2|2003-06-26|2011-02-15|International Business Machines Corporation|Rich text handling for a web application|
JP2005149061A|2003-11-14|2005-06-09|Ricoh Co Ltd|情報処理システム、プログラム、及び記憶媒体|
US20050262439A1|2004-05-20|2005-11-24|Neil Cameron|Automatic web publishing|
US7574048B2|2004-09-03|2009-08-11|Microsoft Corporation|Freeform digital ink annotation recognition|
JP4197313B2|2004-10-15|2008-12-17|インターナショナル・ビジネス・マシーンズ・コーポレーションInternationalBusinessMaschinesCorporation|文章編集方法、文章編集方法を実行するプログラム、及び文章編集システム|
US20070150477A1|2005-12-22|2007-06-28|International Business Machines Corporation|Validating a uniform resource locator in a document|
US7793231B2|2006-01-19|2010-09-07|International Business Machines Corporation|Method and system for providing a primary window overlay|
US20070288859A1|2006-06-07|2007-12-13|Siemens Communications, Inc.|Method and apparatus for selective forwarding of e-mail and document content|
US20080209311A1|2006-12-29|2008-08-28|Alex Agronik|On-line digital image editing with wysiwyg transparency|US9507651B2|2008-04-28|2016-11-29|Microsoft Technology Licensing, Llc|Techniques to modify a document using a latent transfer surface|
JP2010073033A|2008-09-19|2010-04-02|Fuji Xerox Co Ltd|情報処理装置及びプログラム|
US20100095198A1|2008-10-15|2010-04-15|Apple Inc.|Shared comments for online document collaboration|
US8347208B2|2009-03-04|2013-01-01|Microsoft Corporation|Content rendering on a computer|
US9292161B2|2010-03-24|2016-03-22|Microsoft Technology Licensing, Llc|Pointer tool with touch-enabled precise placement|
US8704783B2|2010-03-24|2014-04-22|Microsoft Corporation|Easy word selection and selection ahead of finger|
WO2013008238A1|2011-07-12|2013-01-17|Mobli Technologies 2010 Ltd.|Methods and systems of providing visual content editing functions|
CN102270193A|2011-07-24|2011-12-07|珠海金山办公软件有限公司|对文档中选定区域进行可预览设置的装置及方法|
US9317196B2|2011-08-10|2016-04-19|Microsoft Technology Licensing, Llc|Automatic zooming for text selection/cursor placement|
CN102314314B|2011-08-29|2015-08-26|上海量明科技发展有限公司|文档阅读时光标转换的方法及系统|
US9075517B2|2012-02-21|2015-07-07|Google Inc.|Web input through drag and drop|
CN103257956B|2013-04-19|2016-06-15|小米科技有限责任公司|一种电子文档的数据更新方法及装置|
US9684642B2|2013-04-19|2017-06-20|Xiaomi Inc.|Method and device for updating electronic document and associated document use records|
US10599753B1|2013-11-11|2020-03-24|Amazon Technologies, Inc.|Document version control in collaborative environment|
US20150134600A1|2013-11-11|2015-05-14|Amazon Technologies, Inc.|Document management and collaboration system|
CN104714930B|2013-12-12|2018-10-02|鸿合科技股份有限公司|一种文档快速处理方法和装置|
KR20150078715A|2013-12-31|2015-07-08|삼성전자주식회사|텍스트 편집 위치를 가이드 하는 방법, 장치 및 기록매체|
US10691877B1|2014-02-07|2020-06-23|Amazon Technologies, Inc.|Homogenous insertion of interactions into documents|
US10540404B1|2014-02-07|2020-01-21|Amazon Technologies, Inc.|Forming a document collection in a document management and collaboration system|
WO2015184534A1|2014-06-06|2015-12-10|Foulnes Services Corp.|System and method for generating task-embedded documents|
CN105302828B|2014-07-02|2020-09-29|腾讯科技(深圳)有限公司|一种页面标签信息显示方法、装置及电子设备|
US9807073B1|2014-09-29|2017-10-31|Amazon Technologies, Inc.|Access to documents in a document management and collaboration system|
US9811505B2|2015-07-20|2017-11-07|Sas Institute Inc.|Techniques to provide processing enhancements for a text editor in a computing environment|
CN105808704A|2016-03-04|2016-07-27|北京奇虎科技有限公司|百科词条内容的评价展示方法及评价展示装置|
CN105808512A|2016-03-04|2016-07-27|北京奇虎科技有限公司|百科词条内容的编辑方法及编辑装置|
CN105808515A|2016-03-04|2016-07-27|北京奇虎科技有限公司|基于分句的百科词条的编辑方法及编辑装置|
CN105930340A|2016-03-31|2016-09-07|北京奇虎科技有限公司|基于百科词条的词条纠错方法及装置|
CN105912225B|2016-03-31|2019-08-23|北京奇虎科技有限公司|基于百科词条的飞幕显示方法及装置|
CN105892836A|2016-03-31|2016-08-24|北京奇虎科技有限公司|基于百科词条的激活态飞幕显示方法及装置|
RU2642409C1|2016-09-28|2018-01-24|Общество с ограниченной ответственностью "Аби Девелопмент"|Редактирование текста на изображении документа|
KR102029057B1|2017-06-20|2019-10-07|주식회사 인프라웨어|전자문서를 편집하는 방법 및 장치|
法律状态:
2011-11-01| A621| Written request for application examination|Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111031 |
2013-01-15| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130111 |
2013-04-10| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130409 |
2013-05-13| A02| Decision of refusal|Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130510 |
2013-07-02| RD03| Notification of appointment of power of attorney|Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20130701 |
2013-09-14| RD04| Notification of resignation of power of attorney|Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20130913 |
2013-09-18| RD03| Notification of appointment of power of attorney|Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20130917 |
2014-03-06| A61| First payment of annual fees (during grant procedure)|Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140226 |
2014-03-07| R150| Certificate of patent or registration of utility model|Ref document number: 5490729 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
2015-04-17| S111| Request for change of ownership or part of ownership|Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
2015-04-27| R350| Written notification of registration of transfer|Free format text: JAPANESE INTERMEDIATE CODE: R350 |
2017-03-07| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2018-03-06| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2019-03-05| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2020-02-28| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2021-02-26| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
优先权:
申请号 | 申请日 | 专利标题
[返回顶部]